package com.shop.shoporder.OrderTimingTask;

import com.alibaba.fastjson.JSON;
import com.shop.shoporder.common.InterfaceVer;
import com.shop.shoporder.common.UserRequest;
import com.shop.shoporder.entity.Spec;
import com.shop.shoporder.entity.order.Cart;
import com.shop.shoporder.entity.order.Order;
import com.shop.shoporder.entity.order.UserNo;
import com.shop.shoporder.service.CartService;
import com.shop.shoporder.service.OrderService;
import com.shop.shoporder.service.SpecService;
import org.apache.catalina.Pipeline;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.data.redis.connection.RedisConnection;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisCallback;
import org.springframework.data.redis.core.RedisOperations;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.SessionCallback;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;

@Component
public class SetActivity {
    @Autowired
    RedisTemplate redisTemplate;
    @Autowired
    SpecService specService;
    @Autowired
    OrderService orderService;
    @Autowired
    CartService cartService;
    @Scheduled(cron="0 15 04 01 * ?")//每月1号晚上四点一刻触发
    public void limitTwo(){
        int maxUserNoId=0;
        List<String> keys28 = new ArrayList<>();
        try {
            LettuceConnectionFactory lettuceConnectionFactory = (LettuceConnectionFactory) redisTemplate.getConnectionFactory();
            if(lettuceConnectionFactory != null){
                lettuceConnectionFactory.setDatabase(0);
                redisTemplate.setConnectionFactory(lettuceConnectionFactory);
                lettuceConnectionFactory.resetConnection();
            }
            Long time1= System.currentTimeMillis();
            Object userjsmaxid= redisTemplate.opsForValue().get("userjsmaxid");
            maxUserNoId= InterfaceVer.VerNumber(userjsmaxid==null?"0":(int)userjsmaxid+"");
            Map<String, String> map = new HashMap<>();
            List<String> keys = new ArrayList<>();
            for (int i = 1; i <=maxUserNoId ; i++) {
                keys.add("monthLimit"+i);
                keys28.add("monthLimitAll"+i);
            }
            System.out.println("管道批量耗时1：" + (System.currentTimeMillis() - time1)+"ms");
            Long time2= System.currentTimeMillis();
            if(lettuceConnectionFactory != null){
                lettuceConnectionFactory.setDatabase(15);
                redisTemplate.setConnectionFactory(lettuceConnectionFactory);
                lettuceConnectionFactory.resetConnection();
            }
            List<String> list3 = JSON.parseArray(redisTemplate.opsForValue().multiGet(keys).toString(), String.class);
            for (String str:list3) {
                if(str!=null&& !str.toLowerCase().equals("null")){
                    map.put(str, 0 + "");
                }
            }
            redisTemplate.opsForValue().multiSet(map);//每月1号清空每月购买一次限制
            System.out.println("管道批量耗时2：" + (System.currentTimeMillis() - time2)+"ms");
        }catch (Exception e){}


        try {
            Long time2= System.currentTimeMillis();
            List<String> listUp=new ArrayList<>();
            for (String str: keys28) {
                Object object1=redisTemplate.opsForValue().get(str);
                int object1Int=InterfaceVer.VerNumber(object1==null?"0":(int)object1+"");
                if(object1Int>0){
                    String strs=str+":"+object1Int;
                    listUp.add(strs);
                }
            }
            System.out.println("管道批量耗时3：" + (System.currentTimeMillis() - time2)+"ms");

//            List<String> listUp=new ArrayList<>();
//            List<String> list = JSON.parseArray(redisTemplate.opsForValue().multiGet(keys28).toString(), String.class);
//            for (String str:list) {
//                if(str!=null&& !str.toLowerCase().equals("null")){
//                    //String strs=str+":"+
////                    listUp
////                    map.put(str, 0 + "");
//                }
//            }
        }catch (Exception e){}

    }

    //@Scheduled(fixedRate=300000)
public  void  test(){
        LettuceConnectionFactory lettuceConnectionFactory = (LettuceConnectionFactory) redisTemplate.getConnectionFactory();
        if(lettuceConnectionFactory != null){
            lettuceConnectionFactory.setDatabase(15);
            redisTemplate.setConnectionFactory(lettuceConnectionFactory);
            lettuceConnectionFactory.resetConnection();
        }
    Map<String, Integer> map = new HashMap<>();
    List<String> listUserNoId=listS();//monthLimitAll
    for (String str:listUserNoId) {
        map.put("monthLimitAll"+str, 1 );
    }
    redisTemplate.opsForValue().multiSet(map);//根据会员ID批量设置值
        System.out.println("完毕");
}

public  List<String> listS(){
    List<String> keys1 = new ArrayList<>();
    keys1.add("19749");keys1.add("22709");keys1.add("27746");keys1.add("27942");keys1.add("31492");
    keys1.add("50820");keys1.add("51874");keys1.add("55417");keys1.add("55684");keys1.add("60675");
    keys1.add("61160");keys1.add("61489");keys1.add("61490");keys1.add("62310");keys1.add("64185");
    keys1.add("68123");keys1.add("68124");keys1.add("68126");keys1.add("69317");keys1.add("69318");
    keys1.add("69320");keys1.add("69321");keys1.add("69322");keys1.add("69642");keys1.add("69709");
    keys1.add("69826");keys1.add("70208");keys1.add("75911");keys1.add("76113");keys1.add("77524");
    keys1.add("77528");
    keys1.add("80329");
    keys1.add("90880");
    keys1.add("90882");
    keys1.add("90896");
    keys1.add("90949");
    keys1.add("90961");
    keys1.add("91051");
    keys1.add("91111");
    keys1.add("91136");
    keys1.add("91213");
    keys1.add("91268");
    keys1.add("91298");
    keys1.add("91319");
    keys1.add("91320");
    keys1.add("91335");
    keys1.add("91361");
    keys1.add("91364");
    keys1.add("91426");
    keys1.add("91441");
    keys1.add("91480");
    keys1.add("91547");
    keys1.add("91549");
    keys1.add("91550");
    keys1.add("91584");
    keys1.add("91635");
    keys1.add("91719");
    keys1.add("91739");
    keys1.add("91751");
    keys1.add("91864");
    keys1.add("91875");
    keys1.add("91895");
    keys1.add("91960");
    keys1.add("91975");
    keys1.add("92024");
    keys1.add("92045");
    keys1.add("92112");
    keys1.add("92134");
    keys1.add("92274");
    keys1.add("92346");
    keys1.add("92350");
    keys1.add("92369");
    keys1.add("92371");
    keys1.add("92381");
    keys1.add("92382");
    keys1.add("92392");
    keys1.add("92433");
    keys1.add("92537");
    keys1.add("92554");
    keys1.add("92556");
    keys1.add("92587");
    keys1.add("92595");
    keys1.add("92973");
    keys1.add("93026");
    keys1.add("93167");
    keys1.add("93275");
    keys1.add("93523");
    keys1.add("93554");
    keys1.add("93566");
    keys1.add("93636");
    keys1.add("93650");
    keys1.add("93668");
    keys1.add("93946");
    keys1.add("93951");
    keys1.add("93955");
    keys1.add("95731");
    keys1.add("95743");
    keys1.add("95756");
    keys1.add("95830");
    keys1.add("95895");
    keys1.add("96331");
    keys1.add("96381");
    keys1.add("96426");
    keys1.add("96473");
    keys1.add("96511");
    keys1.add("96551");
    keys1.add("96570");
    keys1.add("96578");
    keys1.add("96677");
    keys1.add("96678");
    keys1.add("96682");
    keys1.add("96700");
    keys1.add("96824");
    keys1.add("96855");
    keys1.add("97041");
    keys1.add("97055");
    keys1.add("97235");
    keys1.add("97260");
    keys1.add("97329");
    keys1.add("97331");
    keys1.add("97345");
    keys1.add("97592");
    keys1.add("97611");
    keys1.add("97618");
    keys1.add("97625");
    keys1.add("97646");
    keys1.add("97672");
    keys1.add("97678");
    keys1.add("97881");
    keys1.add("98599");
    keys1.add("98647");
    keys1.add("98767");
    keys1.add("98811");
    keys1.add("98917");
    keys1.add("98968");
    keys1.add("98993");
    keys1.add("99092");
    keys1.add("99182");
    keys1.add("99190");
    keys1.add("99240");
    keys1.add("99253");
    keys1.add("99292");
    keys1.add("99301");
    keys1.add("99360");
    keys1.add("99432");
    keys1.add("99439");
    keys1.add("99484");
    keys1.add("99503");
    keys1.add("99630");
    keys1.add("99661");
    keys1.add("99882");
    keys1.add("100122");
    keys1.add("100480");
    keys1.add("100493");
    keys1.add("100618");
    keys1.add("100645");
    keys1.add("100665");
    keys1.add("100743");
    keys1.add("100967");
    keys1.add("100974");
    keys1.add("100978");
    keys1.add("101070");
    keys1.add("101128");
    keys1.add("101400");
    keys1.add("101432");
    keys1.add("101473");
    keys1.add("101502");
    keys1.add("101524");
    keys1.add("101573");
    keys1.add("101580");
    keys1.add("101972");
    keys1.add("102200");
    keys1.add("102210");
    keys1.add("102460");
    keys1.add("102463");
    keys1.add("102477");
    keys1.add("102569");
    keys1.add("102776");
    keys1.add("102780");
    keys1.add("103009");
    keys1.add("103176");
    keys1.add("103278");
    keys1.add("103292");
    keys1.add("103552");
    keys1.add("103562");
    keys1.add("103687");
    keys1.add("103778");
    keys1.add("103807");
    keys1.add("103908");
    keys1.add("104006");
    keys1.add("104150");
    keys1.add("104623");
    keys1.add("104656");
    keys1.add("104835");
    keys1.add("105122");
    keys1.add("105316");
    keys1.add("105529");
    keys1.add("105530");
    keys1.add("105542");
    keys1.add("105613");
    keys1.add("105821");
    keys1.add("106112");
    keys1.add("106305");
    keys1.add("106308");
    keys1.add("106321");
    keys1.add("106435");
    keys1.add("106497");
    keys1.add("106703");
    keys1.add("106908");
    keys1.add("107070");
    keys1.add("107093");
    keys1.add("107347");
    keys1.add("107440");
    keys1.add("107645");
    keys1.add("107678");
    keys1.add("107757");
    keys1.add("107846");
    keys1.add("108005");
    keys1.add("108310");
    keys1.add("108391");
    keys1.add("108502");
    keys1.add("108648");
    keys1.add("108745");
    keys1.add("108769");
    keys1.add("108834");
    keys1.add("108956");
    keys1.add("109138");
    keys1.add("109235");
    keys1.add("109287");
    keys1.add("109397");
    keys1.add("109515");
    keys1.add("109620");
    keys1.add("110057");
    keys1.add("110176");
    keys1.add("110229");
    keys1.add("110306");
    keys1.add("110382");
    keys1.add("110513");
    keys1.add("110531");
    keys1.add("110764");
    keys1.add("110984");
    keys1.add("111012");
    keys1.add("111208");
    keys1.add("111347");
    keys1.add("111392");
    keys1.add("111456");
    keys1.add("111501");
    keys1.add("111541");
    keys1.add("111543");
    keys1.add("111574");
    keys1.add("111660");
    keys1.add("111860");
    keys1.add("111897");
    keys1.add("111920");
    keys1.add("112090");
    keys1.add("112091");
    keys1.add("112316");
    keys1.add("112467");
    keys1.add("112521");
    keys1.add("112733");
    keys1.add("112779");
    keys1.add("112872");
    keys1.add("112889");
    keys1.add("112891");
    keys1.add("113435");
    keys1.add("113437");
    keys1.add("113607");
    keys1.add("113617");
    keys1.add("113655");
    keys1.add("113668");
    keys1.add("113680");
    keys1.add("113720");
    keys1.add("113799");
    keys1.add("113829");
    keys1.add("113915");
    keys1.add("113920");
    keys1.add("113926");
    keys1.add("113969");
    keys1.add("114013");
    keys1.add("114063");
    keys1.add("114084");
    keys1.add("114141");
    keys1.add("114247");
    keys1.add("114263");
    keys1.add("114313");
    keys1.add("114327");
    keys1.add("114339");
    keys1.add("114430");
    keys1.add("114441");
    keys1.add("114508");
    keys1.add("114510");
    keys1.add("114516");
    keys1.add("114528");
    keys1.add("114529");
    keys1.add("114532");
    keys1.add("114533");
    keys1.add("114535");
    keys1.add("114543");
    keys1.add("114613");
    keys1.add("114668");
    keys1.add("114727");
    keys1.add("114734");
    keys1.add("114924");
    keys1.add("115020");
    keys1.add("115048");
    keys1.add("115067");
    keys1.add("115114");
    keys1.add("115135");
    keys1.add("115213");
    keys1.add("115268");
    keys1.add("115359");
    keys1.add("115396");
    keys1.add("115436");
    keys1.add("115455");
    keys1.add("115512");
    keys1.add("115608");
    keys1.add("115613");
    keys1.add("115637");
    keys1.add("115642");
    keys1.add("115909");
    keys1.add("115952");
    keys1.add("116015");
    keys1.add("116051");
    keys1.add("116075");
    keys1.add("116158");
    keys1.add("116452");
    keys1.add("116479");
    keys1.add("116527");
    keys1.add("116532");
    keys1.add("116540");
    keys1.add("116589");
    keys1.add("116661");
    keys1.add("116663");
    keys1.add("116701");
    keys1.add("116771");
    keys1.add("116818");
    keys1.add("116829");
    keys1.add("116853");
    keys1.add("116867");
    keys1.add("116895");
    keys1.add("116899");
    keys1.add("116920");
    keys1.add("116946");
    keys1.add("117010");
    keys1.add("117012");
    keys1.add("117045");
    keys1.add("117089");
    keys1.add("117110");
    keys1.add("117115");
    keys1.add("117136");
    keys1.add("117153");
    keys1.add("117183");
    keys1.add("117204");
    keys1.add("117205");
    keys1.add("117271");
    keys1.add("117279");
    keys1.add("117282");
    keys1.add("117288");
    keys1.add("117308");
    keys1.add("117321");
    keys1.add("117323");
    keys1.add("117330");
    keys1.add("117364");
    keys1.add("117375");
    keys1.add("117379");
    keys1.add("117400");
    keys1.add("117409");
    keys1.add("117418");
    keys1.add("117426");
    keys1.add("117427");
    keys1.add("117428");
    keys1.add("117440");
    keys1.add("117467");
    keys1.add("117481");
    keys1.add("117505");
    keys1.add("117572");
    keys1.add("117582");
    keys1.add("117587");
    keys1.add("117610");
    keys1.add("117634");
    keys1.add("117658");
    keys1.add("117667");
    keys1.add("117673");
    keys1.add("117680");
    keys1.add("117750");
    keys1.add("117889");
    keys1.add("117944");
    keys1.add("117963");
    keys1.add("117999");
    keys1.add("118026");
    keys1.add("118058");
    keys1.add("118066");
    keys1.add("118067");
    keys1.add("118110");
    keys1.add("118123");
    keys1.add("118145");
    keys1.add("118147");
    keys1.add("118148");
    keys1.add("118172");
    keys1.add("118208");
    keys1.add("118258");
    keys1.add("118269");
    keys1.add("118273");
    keys1.add("118293");
    keys1.add("118320");
    keys1.add("118339");
    keys1.add("118340");
    keys1.add("118374");
    keys1.add("118420");
    keys1.add("118425");
    keys1.add("118473");
    keys1.add("118480");
    keys1.add("118536");
    keys1.add("118581");
    keys1.add("118612");
    keys1.add("118616");
    keys1.add("118639");
    keys1.add("118642");
    keys1.add("118663");
    keys1.add("118669");
    keys1.add("118688");
    keys1.add("118701");
    keys1.add("118705");
    keys1.add("118714");
    keys1.add("118715");
    keys1.add("118739");
    keys1.add("118804");
    keys1.add("118836");
    keys1.add("118849");
    keys1.add("118854");
    keys1.add("118864");
    keys1.add("118873");
    keys1.add("118878");
    keys1.add("118896");
    keys1.add("118926");
    keys1.add("118928");
    keys1.add("118947");
    keys1.add("118962");
    keys1.add("118996");
    keys1.add("119006");
    keys1.add("119025");
    keys1.add("119081");
    keys1.add("119119");
    keys1.add("119125");
    keys1.add("119156");
    keys1.add("119158");
    keys1.add("119173");
    keys1.add("119211");
    keys1.add("119218");
    keys1.add("119242");
    keys1.add("119260");
    keys1.add("119276");
    keys1.add("119352");
    keys1.add("119354");
    keys1.add("119366");
    keys1.add("119385");
    keys1.add("119412");
    keys1.add("119446");
    keys1.add("119453");
    keys1.add("119467");
    keys1.add("119483");
    keys1.add("119484");
    keys1.add("119486");
    keys1.add("119508");
    keys1.add("119524");
    keys1.add("119528");
    keys1.add("119555");
    keys1.add("119556");
    keys1.add("119564");
    keys1.add("119573");
    keys1.add("119600");
    keys1.add("119602");
    keys1.add("119612");
    keys1.add("119623");
    keys1.add("119625");
    keys1.add("119627");
    keys1.add("119630");
    keys1.add("119638");
    keys1.add("119665");
    keys1.add("119669");
    keys1.add("119687");
    keys1.add("119707");
    keys1.add("119722");
    keys1.add("119726");
    keys1.add("119763");
    keys1.add("119768");
    keys1.add("119772");
    keys1.add("119819");
    keys1.add("119839");
    keys1.add("119851");
    keys1.add("119852");
    keys1.add("119861");
    keys1.add("119875");
    keys1.add("119881");
    keys1.add("119889");
    keys1.add("119894");
    keys1.add("119899");
    keys1.add("119907");
    keys1.add("119910");
    keys1.add("119915");
    keys1.add("119917");
    keys1.add("119926");
    keys1.add("119930");
    keys1.add("119935");
    keys1.add("119937");
    keys1.add("119938");
    keys1.add("119946");
    keys1.add("119958");
    keys1.add("119963");
    keys1.add("119964");
    keys1.add("119966");
    keys1.add("119967");
    keys1.add("119968");
    keys1.add("119969");
    keys1.add("119970");
    keys1.add("119974");
    keys1.add("119977");
    keys1.add("119979");
    keys1.add("119988");
    keys1.add("119989");
    keys1.add("119990");
    keys1.add("119991");
    keys1.add("119992");
    keys1.add("119998");
    keys1.add("120000");
    keys1.add("120002");
    keys1.add("120004");
    keys1.add("120005");
    keys1.add("120008");
    keys1.add("120012");
    keys1.add("120013");
    keys1.add("120015");
    keys1.add("120016");
    keys1.add("120017");
    keys1.add("120018");
    keys1.add("120020");
    keys1.add("120021");
    keys1.add("120022");
    keys1.add("120023");
    keys1.add("120030");
    keys1.add("120031");
    keys1.add("120033");
    keys1.add("120036");
    keys1.add("120038");
    keys1.add("120040");
    keys1.add("120042");
    keys1.add("120044");
    keys1.add("120045");
    keys1.add("120046");
    keys1.add("120048");
    keys1.add("120051");
    keys1.add("120052");
    keys1.add("120053");
    keys1.add("120054");
    keys1.add("120055");
    keys1.add("120060");
    keys1.add("120061");
    keys1.add("120064");
    keys1.add("120065");
    keys1.add("120066");
    keys1.add("120070");
    keys1.add("120071");
    keys1.add("120072");
    keys1.add("120073");
    keys1.add("120074");
    keys1.add("120075");
    keys1.add("120078");
    keys1.add("120079");
    keys1.add("120082");
    keys1.add("120083");
    keys1.add("120084");
    keys1.add("120085");
    keys1.add("120086");
    keys1.add("120087");
    keys1.add("120090");
    keys1.add("120091");
    keys1.add("120093");
    keys1.add("120094");
    keys1.add("120100");
    keys1.add("120101");
    keys1.add("120104");
    keys1.add("120107");
    keys1.add("120108");
    keys1.add("120109");
    keys1.add("120112");
    keys1.add("120113");
    keys1.add("120114");
    keys1.add("120115");
    keys1.add("120116");
    keys1.add("120120");
    keys1.add("120122");
    keys1.add("120125");
    keys1.add("120126");
    keys1.add("120129");
    keys1.add("120131");
    keys1.add("120132");
    keys1.add("120133");
    keys1.add("120135");
    keys1.add("120136");
    keys1.add("120138");
    keys1.add("120139");
    keys1.add("120142");
    keys1.add("120144");
    keys1.add("120145");
    keys1.add("120146");
    keys1.add("120148");
    keys1.add("120151");
    keys1.add("120153");
    keys1.add("120154");
    keys1.add("120155");
    keys1.add("120156");
    keys1.add("120157");
    keys1.add("120158");
    keys1.add("120159");
    keys1.add("120160");
    keys1.add("120161");
    keys1.add("120162");
    keys1.add("120166");
    keys1.add("120167");
    keys1.add("120169");
    keys1.add("120171");
    keys1.add("120172");
    keys1.add("120174");
    keys1.add("120175");
    keys1.add("120177");
    keys1.add("120178");
    keys1.add("120180");
    keys1.add("120181");
    keys1.add("120183");
    keys1.add("120188");
    keys1.add("120189");
    keys1.add("120190");
    keys1.add("120191");
    keys1.add("120196");
    keys1.add("120197");
    keys1.add("120198");
    keys1.add("120199");
    keys1.add("120202");
    keys1.add("120204");
    keys1.add("120206");
    keys1.add("120208");
    keys1.add("120209");
    keys1.add("120213");
    keys1.add("120216");
    keys1.add("120217");
    keys1.add("120224");
    keys1.add("120228");
    keys1.add("120230");
    keys1.add("120238");
    keys1.add("120243");
    keys1.add("120244");
    keys1.add("120255");
    keys1.add("120262");
    keys1.add("120265");
    keys1.add("120269");
    keys1.add("120271");
    keys1.add("120272");
    keys1.add("120277");
    keys1.add("120278");
    keys1.add("120283");
    keys1.add("120285");
    keys1.add("120286");
    keys1.add("120287");
    keys1.add("120288");
    keys1.add("120289");
    keys1.add("120292");
    keys1.add("120293");
    keys1.add("120301");
    keys1.add("120302");
    keys1.add("120303");
    keys1.add("120304");
    keys1.add("120310");
    keys1.add("120311");
    keys1.add("120312");
    keys1.add("120313");
    keys1.add("120314");
    keys1.add("120315");
    keys1.add("120316");
    keys1.add("120317");
    keys1.add("120318");
    keys1.add("120320");
    keys1.add("120333");
    keys1.add("120334");
    keys1.add("120339");
    keys1.add("120342");
    keys1.add("120343");
    keys1.add("120344");
    keys1.add("120347");
    keys1.add("120355");
    keys1.add("120363");
    keys1.add("120371");
    keys1.add("120374");
    keys1.add("120384");
    keys1.add("120389");
    keys1.add("120392");
    keys1.add("120398");
    return  keys1;
}
    //@Scheduled(fixedRate = 6000)
    public void AutoReceivingGoods() {
        String Ip = UserRequest.getServerIp();
        if (Ip.contains("172.18.109.46")) {
            LettuceConnectionFactory lettuceConnectionFactory = (LettuceConnectionFactory) redisTemplate.getConnectionFactory();
            if (lettuceConnectionFactory != null) {
                lettuceConnectionFactory.setDatabase(15);
                redisTemplate.setConnectionFactory(lettuceConnectionFactory);
                lettuceConnectionFactory.resetConnection();
            }
            List<Spec> list = specService.selectActivityGoods();

            for (Spec spec : list) {
                Object object = redisTemplate.opsForValue().get("activity" + spec.getId());
                Object sumLimit = redisTemplate.opsForValue().get("sumLimit" + spec.getId());
                if (object == null) {
                    redisTemplate.opsForValue().set("activity" + spec.getId(), spec.getId());
                }
                if (sumLimit == null) {
                    redisTemplate.opsForValue().set("sumLimit" + spec.getId(), spec.getSumlimit());
                }
            }
        }
    }

    @Scheduled(fixedRate = 9000)//订单取消活动订单
    public void cancelActivityOrder() {
        LettuceConnectionFactory lettuceConnectionFactory = (LettuceConnectionFactory) redisTemplate.getConnectionFactory();
        if (lettuceConnectionFactory != null) {
            lettuceConnectionFactory.setDatabase(15);
            redisTemplate.setConnectionFactory(lettuceConnectionFactory);
            lettuceConnectionFactory.resetConnection();
        }

//        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//        Date date1 = new Date();
//        String date = sdf.format(date1);
//        Date dateX = InterfaceVer.addDateMinutS(date, 15);//往前推15分钟
        String Ip = UserRequest.getServerIp();
        if (Ip.contains("172.18.109.46")) {
            Order order1 = new Order();
            order1.setOrderStatus(null);
            order1.setpOrderTime(null);

            List<String> listOrderNo = new ArrayList<>();
            List<Order> list = orderService.selectCancelOrder28(order1);

            try {
                if (list != null && list.size() > 0) {
                    for (Order order : list) {
                        String orderNo = order.getOrderNo() == null ? "" : order.getOrderNo();
                        int userNoId = order.getUsernoId() == null ? -1 : order.getUsernoId();
                        Cart cart = cartService.selectListByOrderNo(orderNo).get(0);
                        int guigeId = cart.getGuigeId() == null ? -1 : cart.getGuigeId();
                        try {
                            //活动值判断清除
                            //1 增加活动产品限制总数量
                            Object OBsumLimit = redisTemplate.opsForValue().get("sumLimit" + guigeId);
                            int sumLimit = InterfaceVer.VerNumber(OBsumLimit == null ? "0" : (int) OBsumLimit + "");
                            sumLimit = sumLimit + 1;
                            redisTemplate.opsForValue().set("sumLimit" + guigeId, sumLimit);
                            //2 清除会员产品活动限量
                            Object oneLimit = redisTemplate.delete("oneLimit" + userNoId + guigeId);//.opsForValue().get("oneLimit"+userNoId+guigeId);
                            //int oneLimitInt=InterfaceVer.VerNumber(oneLimit==null?"0":(int)oneLimit+"");
                            //3 清除一个月购买一次限制
                            Object monthLimit = redisTemplate.delete("monthLimit" + userNoId);//.opsForValue().get("monthLimit"+userNoId);
                            //int monthLimitInt=InterfaceVer.VerNumber(monthLimit==null?"0":(int)monthLimit+"");
                            //4 更新会员购买两次标记
                            Object monthLimitAll = redisTemplate.opsForValue().get("monthLimitAll" + userNoId);
                            int monthLimitAllInt = InterfaceVer.VerNumber(monthLimitAll == null ? "0" : (int) monthLimitAll + "");
                            if ((monthLimitAllInt - 1) <= 0) {
                                redisTemplate.delete("monthLimitAll" + userNoId);
                            } else if ((monthLimitAllInt - 1) == 1) {
//                        int lastNumber = monthLimitAllInt + 1;
                                redisTemplate.opsForValue().set("monthLimitAll" + userNoId, 1);
                                //更新会员表中的数据

                            }
                            //活动值判断清除
                        } catch (Exception e) {
                        }
                        if (!orderNo.equals("")) {
                            listOrderNo.add(orderNo);
                        }
                    }
                    int resC = cartService.updateStateByOrderNo(listOrderNo);
                    int res = orderService.upAutoCancalOrder(new Date(), listOrderNo, "706");

                }
            } catch (Exception e) {
            }
        }
    }

}
